#ifdef	ADI_OLD

#ifndef	_JOB_H_
#define _JOB_H_

#include <fstream>
#include <iostream>
#include "Globals.h"
#include "Match.h"
///#include "DiagStretch.h"
#include "CompareSeqs.h"

/* types of job */
///#define DIAGS_JOB		0
///#define FILE_READ		1

class Job
{
  public:
	enum JobType { COMPARE_SEQS, FILE_READ };

  private:
  	/* The type of job to be executed */
  	JobType type;
  	
  	bool done;
  	
  	/* Place of the input file in input files order */ 
  	uint inputFileIndx;
  	/* The index of coresponding sequence in the input file */ 
  	uint seqind;
	/* Array of digonal stretches to process */
	///DiagStretch *diags;

	// A comparison job data-structure
	CompareSeqs *cmps;
	
	/* Index of the job in the results vector of the corresponding input string  */
	uint	jobIndex;

	///void processDiags();
	void processCompares();
	
	void readFile();
	
  public:
	Job(JobType type, uint inputFileIndx, uint _seqind = (uint)-1, CompareSeqs *cmps = NULL, uint jobIndex = (uint)-1);

	~Job();
	
	inline JobType getType() const;
	
	inline uint getInputFileIndx() const;
	
	inline uint getSeqInFile() const;
	
	void process();
	
};

/* Moved these methods here, to allow inline */
inline Job::JobType Job::getType() const
{
	return type;
}

inline uint Job::getInputFileIndx() const
{
    return inputFileIndx;
}

inline uint Job::getSeqInFile() const
{
    return seqind;
}


#endif /* _JOB_H_ */

#endif	/* ADI_OLD */

